package com.hgl.bi.web.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hgl.bi.web.entity.MetadataEntity;
import com.hgl.bi.web.model.dto.FileDto;
import com.hgl.bi.web.model.dto.FileSetDto;
import com.hgl.bi.web.model.dto.PathDto;
import com.hgl.bi.web.model.dto.SignatureDto;
import com.hgl.bi.web.model.vo.SignatureVo;

import java.util.List;
import java.util.Map;

/**
 * @program: BI
 * @description: 文件元数据管理服务层
 * @author: hgl
 * @create: 2025-02-14 16:20
 */
public interface MetadataService extends IService<MetadataEntity> {

    SignatureVo getCosUploadSignature(SignatureDto fileDto, Long userId);

    void saveFilePath(PathDto pathDto, Long userId);

    List<Map<Integer, String>> getFileContent(Long id);

    void associateSet(FileSetDto fileSetDto);

    String getCosDownloadSignature(String cosPath);

    List<Map<Integer, String>> getCleanFileContent(Long id);

    void removeSets(FileSetDto fileSetDto);

    List<Long> getMyAssociateFiles(long userId, Long id);

    void associateFile(FileDto fileDto);

    void removeFiles(FileDto fileDto);
}
